package com.ruoyi.security.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.security.enums.SecurityExchangeEnum;
import com.ruoyi.security.enums.SecurityTypeEnum;
import com.ruoyi.security.enums.StockBoardCodePrefixEnum;
import lombok.Data;

import java.util.Date;

/**
 * @author yeoman
 * @date 2025/4/30 17:17
 * @description
 */
@Data
public class SecurityVo {

    private Long id;

    /**
     * 证券类型
     * @see SecurityTypeEnum
     */
    private String type;

     /**
     * 证券类型名称
     */
    private String securityTypeName;

    /**
     * 最小交易数量
     * @see SecurityTypeEnum
     */
    private Integer minTradeQuantity;

     /**
      * 交易单位
      * @see SecurityTypeEnum
      */
    private String tradeUnit;

    /**
     * 交易所
     * @see SecurityExchangeEnum
     */
    private String exchange;

    /**
     * 板块
     * @see StockBoardCodePrefixEnum
     */
    private String board;

    /**
     * 完整代码
     */
    private String symbol;

    /**
     * 代码
     */
    private String code;

    /**
     * 名称
     */
    private String name;
    /**
     * 最新价
     */
    private String latestPrice;
    /**
     * 涨跌额
     */
    private String riseFallAmount;
    /**
     * 涨跌幅%
     */
    private String riseFallAmountPercentage;
    /**
     * 买入价
     */
    private String buyPrice;
    /**
     * 卖出价
     */
    private String sellPrice;
    /**
     * 昨收价
     */
    private String previousClosePrice;
    /**
     * 今开价
     */
    private String openPrice;
    /**
     * 最高价
     */
    private String highestPrice;
    /**
     * 最低价
     */
    private String lowestPrice;
    /**
     * 成交量/手
     */
    private String volume;
    /**
     * 成交额/万
     */
    private String turnover;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
